<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
	<title>节点 | ElasticSearch 7.7 权威指南中文版</title>
	<meta name="keywords" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <meta name="description" content="ElasticSearch 权威指南中文版, elasticsearch 7, es7, 实时数据分析，实时数据检索" />
    <!-- Give IE8 a fighting chance -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" type="text/css" href="../static/styles.css" />
	<script>
	var _link = 'modules-node.html';
    </script>
</head>
<body>
<div class="main-container">
    <section id="content">
        <div class="content-wrapper">
            <section id="guide" lang="zh_cn">
                <div class="container">
                    <div class="row">
                        <div class="col-xs-12 col-sm-8 col-md-8 guide-section">
                            <div style="color:gray; word-break: break-all; font-size:12px;">原英文版地址: <a href="https://www.elastic.co/guide/en/elasticsearch/reference/7.7/modules-node.html" rel="nofollow" target="_blank">https://www.elastic.co/guide/en/elasticsearch/reference/7.7/modules-node.html</a>, 原文档版权归 www.elastic.co 所有<br/>本地英文版地址: <a href="../en/modules-node.html" rel="nofollow" target="_blank">../en/modules-node.html</a></div>
                        <!-- start body -->
                  <div class="page_header">
<strong>重要</strong>: 此版本不会发布额外的bug修复或文档更新。最新信息请参考 <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html" rel="nofollow">当前版本文档</a>。
</div>
<div id="content">
<div class="breadcrumbs">
<span class="breadcrumb-link"><a href="index.html">Elasticsearch 权威指南 [7.7]</a></span>
»
<span class="breadcrumb-link"><a href="setup.html">安装和设置</a></span>
»
<span class="breadcrumb-link"><a href="settings.html">配置 Elasticsearch</a></span>
»
<span class="breadcrumb-node">节点</span>
</div>
<div class="navheader">
<span class="prev">
<a href="monitoring-settings.html">« 监控设置</a>
</span>
<span class="next">
<a href="modules-network.html">网络设置 »</a>
</span>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h2 class="title">
<a id="modules-node"></a>节点 (Node)
</h2>
</div></div></div>
<p>
任何时候启动一个 Elasticsearch 实例，都是在启动一个<em>节点 (node)</em>。
连接的节点的集合称为<a class="xref" href="modules-cluster.html" title="Cluster-level shard allocation and routing settings">集群 (cluster)</a>。 
如果你运行的是 Elasticsearch 的单个节点，那么你有一个包含一个节点的集群。
</p>
<p>
默认情况下，集群中的每个节点都可以处理<a class="xref" href="modules-http.html" title="HTTP">HTTP</a> 和 <a class="xref" href="modules-transport.html" title="Transport">传输 (Transport)</a>流量。
传输层专门用于节点之间的通信；HTTP 层被 REST 客户端使用。
</p>
<p>所有节点都知道集群中的所有其他节点，并且可以将客户端请求转发到适当的节点。</p>
<p>
默认情况下，节点包含以下所有类型: 符合主节点条件的节点(master-eligible)、数据节点(data)、预处理节点(ingest) 以及 机器学习(machine learning)(如果可用) 和 转换(transform)节点。
</p>
<div class="tip admon">
<div class="icon"></div>
<div class="admon_content">
<p>随着集群的增长，特别是如果你有大型机器学习作业或连续转换，请考虑将专用的符合主机条件的节点与专用的数据节点、机器学习节点和转换节点分开。</p>
</div>
</div>
<div class="variablelist">
<dl class="variablelist">
<dt>
<span class="term">
<a class="xref" href="modules-node.html#master-node" title="Master-eligible node">符合主节点条件的节点 (Master-eligible node)</a>
</span>
</dt>
<dd>
<code class="literal">node.master</code>设置为<code class="literal">true</code>(默认值)的节点，这使它有资格 <a class="xref" href="modules-discovery.html" title="Discovery and cluster formation">被选为<em>主 (master)</em>节点</a>，主节点可以控制集群。
</dd>
<dt>
<span class="term">
<a class="xref" href="modules-node.html#data-node" title="Data node">数据节点 (Data node)</a>
</span>
</dt>
<dd>
<code class="literal">node.data</code>设置为<code class="literal">true</code>(默认值)的节点。数据节点保存数据并执行与数据相关的操作，如 CRUD、搜索和聚合。
</dd>
<dt>
<span class="term">
<a class="xref" href="ingest.html" title="Ingest node">预处理节点 (Ingest node)</a>
</span>
</dt>
<dd>
<code class="literal">node.ingest</code>设置为<code class="literal">true</code>(默认值)的节点。
预处理节点能够将 <a class="xref" href="pipeline.html" title="Pipeline Definition">预处理管道 (ingest pipeline)</a> 应用于文档，以便在索引之前转换并丰富文档。
当预处理负载很大时，使用专用的预处理节点并将主节点和数据节点标记为<code class="literal">node.ingest: false</code>是有意义的。
</dd>
<dt>
<span class="term">
<a class="xref" href="modules-node.html#ml-node" title="Machine learning node">机器学习节点 (Machine learning node)</a>
</span>
</dt>
<dd>
<p>
<code class="literal">xpack.ml.enabled</code> 和 <code class="literal">node.ml</code> 设置为 <code class="literal">true</code> 的节点，这是 Elasticsearch 默认发行版中的默认行为。
如果要使用机器学习功能，集群中必须至少有一个机器学习节点。
有关机器学习功能的更多信息，请参考 <a href="https://www.elastic.co/guide/en/machine-learning/7.7/index.html" class="ulink" target="_top">Elastic Stack 中的机器学习</a>.
</p>
<div class="important admon">
<div class="icon"></div>
<div class="admon_content">
<p>如果是 OSS-only 的发行版，请不要设置<code class="literal">node.ml</code>。 否则，节点会启动失败。</p>
</div>
</div>
</dd>
<dt>
<span class="term">
<a class="xref" href="modules-node.html#transform-node" title="Transform node">转换节点 (Transform node)</a>
</span>
</dt>
<dd>
<code class="literal">xpack.transform.enabled</code> 和 <code class="literal">node.transform</code> 设置为 <code class="literal">true</code> 的节点。
如果要使用转换，集群中必须至少有一个转换节点。
更多信息想参考 <a class="xref" href="transform-settings.html" title="Transforms settings in Elasticsearch">转换设置</a> and
<a class="xref" href="transforms.html" title="Transforming data"><em>数据转换</em></a>.
</dd>
</dl>
</div>
<div class="note admon">
<div class="icon"></div>
<div class="admon_content">
<h3>协调节点 (Coordinating node)<a id="coordinating-node"></a>
</h3>
<p>
像搜索请求或批量索引请求这样的请求可能涉及保存在不同数据节点上的数据。
例如，搜索请求分两个阶段执行，这两个阶段由接收客户端请求的节点协调 - <em>协调节点 (coordinating node)</em>.
</p>
<p>
在<em>scatter</em>阶段，协调节点将请求转发给保存数据的数据节点。
每个数据节点在本地执行请求，并将结果返回给协调节点。
在<em>gather</em>阶段，协调节点将每个数据节点的结果缩减为一个全局结果集。
</p>
<p>
含蓄地说，每个节点都是一个协调节点。
这意味着所有三个设置<code class="literal">node.master</code>、<code class="literal">node.data</code> 和 <code class="literal">node.ingest</code>都是<code class="literal">false</code>的节点将仅充当协调节点，不能禁用。
因此，这样的节点需要有足够的内存和 CPU 来处理<em>gather</em>阶段的数据。
</p>
</div>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="master-node"></a>符合主节点条件的节点 (Master-eligible node)
</h3>
</div></div></div>
<p>主节点负责轻量级的集群范围的操作，例如创建或删除索引、跟踪哪些节点是集群的一部分，以及决定将哪些分片分配给哪些节点。拥有一个稳定的主节点对于集群的健康非常重要。</p>
<p>任何符合主节点条件的节点，但不是<a class="xref" href="modules-node.html#voting-only-node" title="Voting-only master-eligible node">仅可以投票(vote-only)的节点</a>，都可以被<a class="xref" href="modules-discovery.html" title="Discovery and cluster formation">主节点选举过程</a>选为主节点。</p>
<div class="important admon">
<div class="icon"></div>
<div class="admon_content">
<p>主节点必须能够访问<code class="literal">data/</code>木兰路(就像<code class="literal">数据(data)</code>节点一样)，因为这是节点重新启动之间集群状态的保存位置。</p>
</div>
</div>
<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="dedicated-master-node"></a>专用的符合主节点条件的节点 (Dedicated master-eligible node)
</h4>
</div></div></div>
<p>
当选的主节点拥有履行其职责所需的资源，这对集群的健康非常重要。
如果选出的主节点因其他任务而过载，那么集群可能无法正常运行。
特别是，索引和搜索数据会占用大量资源，因此在大型或高吞吐集群中，最好避免使用符合主节点条件的节点来执行索引和搜索等任务。
为此，你可以将三个节点配置为专用的符合主节点条件的节点。
专用的符合主节点条件的节点仅具有<code class="literal">master</code>角色，这使得它们可以专注于管理集群。
虽然主节点也可以充当<a class="xref" href="modules-node.html#coordinating-node" title="Coordinating node">协调节点</a>，并将搜索和索引请求从客户端路由到数据节点，但最好<em>不要</em>为此使用专用主节点。
</p>
<p>要在默认发行版中创建专用的符合主节点条件的节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: true <a id="CO12-1"></a><i class="conum" data-value="1"></i>
node.voting_only: false <a id="CO12-2"></a><i class="conum" data-value="2"></i>
node.data: false <a id="CO12-3"></a><i class="conum" data-value="3"></i>
node.ingest: false <a id="CO12-4"></a><i class="conum" data-value="4"></i>
node.ml: false <a id="CO12-5"></a><i class="conum" data-value="5"></i>
xpack.ml.enabled: true <a id="CO12-6"></a><i class="conum" data-value="6"></i>
node.transform: false <a id="CO12-7"></a><i class="conum" data-value="7"></i>
xpack.transform.enabled: true <a id="CO12-8"></a><i class="conum" data-value="8"></i>
node.remote_cluster_client: false <a id="CO12-9"></a><i class="conum" data-value="9"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO12-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>默认启动 <code class="literal">node.master</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO12-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>默认禁用 <code class="literal">node.voting_only</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO12-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.data</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO12-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ingest</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO12-5"><i class="conum" data-value="5"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ml</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO12-6"><i class="conum" data-value="6"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">xpack.ml.enabled</code> 设置是默认启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO12-7"><i class="conum" data-value="7"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.transform</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO12-8"><i class="conum" data-value="8"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">xpack.transform.enabled</code> 设置默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO12-9"><i class="conum" data-value="9"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
<p>要在 OSS-only 的发行版中创建专用的符合主节点条件的节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: true <a id="CO13-1"></a><i class="conum" data-value="1"></i>
node.data: false <a id="CO13-2"></a><i class="conum" data-value="2"></i>
node.ingest: false <a id="CO13-3"></a><i class="conum" data-value="3"></i>
node.remote_cluster_client: false <a id="CO13-4"></a><i class="conum" data-value="4"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO13-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">node.master</code> 角色是默认启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO13-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.data</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO13-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ingest</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO13-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h4 class="title">
<a id="voting-only-node"></a> 只有投票资格的符合主节点条件的节点 (Voting-only master-eligible node)
</h4>
</div></div></div>
<p>
只有投票资格的符合主节点条件的节点是指参与<a class="xref" href="modules-discovery.html" title="Discovery and cluster formation">主节点选举 (master elections)</a>，但不会充当集群的当选主节点的节点。
特别是，只有投票资格的节点可以在选举中发挥决定性作用。
</p>
<p>
用术语 “符合主节点条件的节点(master-eligible)” 来描述 只有投票资格(voting-only) 的节点可能会令人困惑，因为这样的节点实际上根本没有资格成为主节点。
这个术语是历史造成的一个不幸的结果：<em>符合主节点条件的(master-eligible)</em> 的节点是那些参与选举并在集群状态发布期间执行特定任务的节点，而 <em>只有投票资格(voting-only)</em> 的节点具有相同的责任，即使它们永远无法成为被选举的主节点。  
</p>
<p>
要将符合主节点条件的节点配置为只有投票资格的节点，请看以下设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.voting_only: true <a id="CO14-1"></a><i class="conum" data-value="1"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO14-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">node.voting_only</code> 默认值为 <code class="literal">false</code></p>
</td>
</tr>
</table>
</div>
<div class="important admon">
<div class="icon"></div>
<div class="admon_content">
<p>
<code class="literal">voting_only</code>角色需要 Elasticsearch 的默认发行版，在 OSS-only 的发行版中不受支持。
如果使用 OSS-only 的发行版并设置<code class="literal">node.voting_only</code>，则节点将无法启动。
另请注意，只有符合主节点条件的节点才能标记为<code class="literal">voting_only</code>节点。
</p>
</div>
</div>
<p>高可用性(HA)集群需要至少三个 符合主节点条件 的节点，其中至少两个不是 只有投票资格的节点。即使其中一个节点出现故障，这样的集群也能够选出一个主节点。</p>
<p>
由于 只有投票资格的节点 从不充当集群的当选主节点，因此与真正的主节点相比，它们可能需要更少的堆和更弱的CPU。
然而，所有符合主节点条件的节点，包括只有投票资格的节点，都需要相当快的持久存储及与集群其余节点的可靠、低延迟的网络连接，因为它们处于 <a class="xref" href="cluster-state-publishing.html" title="Publishing the cluster state">发布集群状态更新</a>的关键路径上。
</p>
<p>
只有投票资格的符合主节点条件的节点也可以担任集群中的其他角色。
例如，一个节点既可以是数据节点，也可以是只有投票资格的符合主节点条件的节点。
一个<em>专用的</em>只有投票资格的符合主节点条件的节点 是一个 只有投票资格的符合主节点条件的节点，它不担任集群中的任何其他角色。
要在默认的发行版中创建只有投票资格的符合主节点条件的节点，设置：
</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: true <a id="CO15-1"></a><i class="conum" data-value="1"></i>
node.voting_only: true <a id="CO15-2"></a><i class="conum" data-value="2"></i>
node.data: false <a id="CO15-3"></a><i class="conum" data-value="3"></i>
node.ingest: false <a id="CO15-4"></a><i class="conum" data-value="4"></i>
node.ml: false <a id="CO15-5"></a><i class="conum" data-value="5"></i>
xpack.ml.enabled: true <a id="CO15-6"></a><i class="conum" data-value="6"></i>
node.transform: false <a id="CO15-7"></a><i class="conum" data-value="7"></i>
xpack.transform.enabled: true <a id="CO15-8"></a><i class="conum" data-value="8"></i>
node.remote_cluster_client: false <a id="CO15-9"></a><i class="conum" data-value="9"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO15-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">node.master</code> 角色默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO15-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>启用 <code class="literal">node.voting_only</code> 角色 (默认是禁用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO15-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.data</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO15-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ingest</code>  角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO15-5"><i class="conum" data-value="5"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ml</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO15-6"><i class="conum" data-value="6"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">xpack.ml.enabled</code> 设置默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO15-7"><i class="conum" data-value="7"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.transform</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO15-8"><i class="conum" data-value="8"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">xpack.transform.enabled</code> 设置默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO15-9"><i class="conum" data-value="9"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
</div>

</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="data-node"></a>数据节点 (Data node)
</h3>
</div></div></div>
<p>
数据节点保存包含已建立索引的文档的分片。  
数据节点处理与数据相关的操作，如CRUD、搜索和聚合。
这些操作对I/O、内存、CPU是敏感的。
监视这些资源并在它们过载时添加更多的数据节点是很重要的。
</p>
<p>拥有专用数据节点的主要好处是主角色和数据角色的分离。</p>
<p>要在默认发行版中创建专用数据节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: false <a id="CO16-1"></a><i class="conum" data-value="1"></i>
node.voting_only: false <a id="CO16-2"></a><i class="conum" data-value="2"></i>
node.data: true <a id="CO16-3"></a><i class="conum" data-value="3"></i>
node.ingest: false <a id="CO16-4"></a><i class="conum" data-value="4"></i>
node.ml: false <a id="CO16-5"></a><i class="conum" data-value="5"></i>
node.transform: false <a id="CO16-6"></a><i class="conum" data-value="6"></i>
xpack.transform.enabled: true <a id="CO16-7"></a><i class="conum" data-value="7"></i>
node.remote_cluster_client: false <a id="CO16-8"></a><i class="conum" data-value="8"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO16-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.master</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO16-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">node.voting_only</code> 角色默认是禁用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO16-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">node.data</code> 角色默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO16-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ingest</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO16-5"><i class="conum" data-value="5"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ml</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO16-6"><i class="conum" data-value="6"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.transform</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO16-7"><i class="conum" data-value="7"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">xpack.transform.enabled</code> 设置默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO16-8"><i class="conum" data-value="8"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
<p>要在 OSS-only 的发行版中创建专用数据节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: false <a id="CO17-1"></a><i class="conum" data-value="1"></i>
node.data: true <a id="CO17-2"></a><i class="conum" data-value="2"></i>
node.ingest: false <a id="CO17-3"></a><i class="conum" data-value="3"></i>
node.remote_cluster_client: false <a id="CO17-4"></a><i class="conum" data-value="4"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO17-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.master</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO17-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">node.data</code> 角色默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO17-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ingest</code>  角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO17-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="node-ingest-node"></a>预处理节点 (Ingest node)
</h3>
</div></div></div>
<p>
预处理节点可以执行 预处理管道(pre-processing pipelines)，由一个或多个预处理处理器组成。
根据预处理处理器执行的操作类型和所需的资源，拥有专用预处理节点可能是有意义的，这些节点将只执行此特定任务。
</p>
<p>要在默认发行版中创建专用预处理节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: false <a id="CO18-1"></a><i class="conum" data-value="1"></i>
node.voting_only: false <a id="CO18-2"></a><i class="conum" data-value="2"></i>
node.data: false <a id="CO18-3"></a><i class="conum" data-value="3"></i>
node.ingest: true <a id="CO18-4"></a><i class="conum" data-value="4"></i>
node.ml: false <a id="CO18-5"></a><i class="conum" data-value="5"></i>
node.transform: false <a id="CO18-6"></a><i class="conum" data-value="6"></i>
node.remote_cluster_client: false <a id="CO18-7"></a><i class="conum" data-value="7"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO18-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.master</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO18-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">node.voting_only</code> 角色默认是禁用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO18-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.data</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO18-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>The <code class="literal">node.ingest</code> 角色默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO18-5"><i class="conum" data-value="5"></i></a></p>
</td>
<td align="left" valign="top">
<p>Disable the <code class="literal">node.ml</code> role (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO18-6"><i class="conum" data-value="6"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.transform</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO18-7"><i class="conum" data-value="7"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
<p>要在 OSS-only 的发行版中创建专用预处理节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: false <a id="CO19-1"></a><i class="conum" data-value="1"></i>
node.data: false <a id="CO19-2"></a><i class="conum" data-value="2"></i>
node.ingest: true <a id="CO19-3"></a><i class="conum" data-value="3"></i>
node.remote_cluster_client: false <a id="CO19-4"></a><i class="conum" data-value="4"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO19-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.master</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO19-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.data</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO19-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>The <code class="literal">node.ingest</code> 角色默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO19-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="coordinating-only-node"></a>只负责协调的节点 (Coordinating only node)
</h3>
</div></div></div>
<p>
如果失去了处理主任务、保存数据和预处理文档的能力，那么只剩下一个<em>协调 (coordinating)</em>节点，它只能路由请求、处理搜索 <code class="literal">reduce</code> 阶段及分发批量索引。
本质上，只负责协调的节点就像智能负载均衡器一样。
</p>
<p>
通过将协调节点角色从数据和符合主节点条件的节点上卸载下来，只负责协调的节点可以使大型集群受益。
它们加入集群并接收完整的<a class="xref" href="cluster-state.html" title="Cluster state API">集群状态</a>，就像所有其他节点一样，它们使用集群状态将请求直接路由到适当的位置。
</p>
<div class="warning admon">
<div class="icon"></div>
<div class="admon_content">
<p>
向集群添加太多 只负责协调的节点 会增加整个集群的负担，因为选出的主节点必须等待来自每个节点的集群状态更新的确认！
不应夸大 只负责协调的节点 的好处——数据节点可以很好地服务于相同的目的。
</p>
</div>
</div>
<p>要在默认发行版中创建专用协调节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: false <a id="CO20-1"></a><i class="conum" data-value="1"></i>
node.voting_only: false <a id="CO20-2"></a><i class="conum" data-value="2"></i>
node.data: false <a id="CO20-3"></a><i class="conum" data-value="3"></i>
node.ingest: false <a id="CO20-4"></a><i class="conum" data-value="4"></i>
node.ml: false <a id="CO20-5"></a><i class="conum" data-value="5"></i>
xpack.ml.enabled: true <a id="CO20-6"></a><i class="conum" data-value="6"></i>
node.transform: false <a id="CO20-7"></a><i class="conum" data-value="7"></i>
xpack.transform.enabled: true <a id="CO20-8"></a><i class="conum" data-value="8"></i>
node.remote_cluster_client: false <a id="CO20-9"></a><i class="conum" data-value="9"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO20-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.master</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO20-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>The <code class="literal">node.voting_only</code> 角色默认是禁用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO20-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.data</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO20-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ingest</code>  角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO20-5"><i class="conum" data-value="5"></i></a></p>
</td>
<td align="left" valign="top">
<p>Disable the <code class="literal">node.ml</code> role (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO20-6"><i class="conum" data-value="6"></i></a></p>
</td>
<td align="left" valign="top">
<p>The <code class="literal">xpack.ml.enabled</code> 设置默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO20-7"><i class="conum" data-value="7"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.transform</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO20-8"><i class="conum" data-value="8"></i></a></p>
</td>
<td align="left" valign="top">
<p>The <code class="literal">xpack.transform.enabled</code> 设置默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO20-9"><i class="conum" data-value="9"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
<p>要在 OSS-only 的发行版中创建专用协调节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: false <a id="CO21-1"></a><i class="conum" data-value="1"></i>
node.data: false <a id="CO21-2"></a><i class="conum" data-value="2"></i>
node.ingest: false <a id="CO21-3"></a><i class="conum" data-value="3"></i>
node.remote_cluster_client: false <a id="CO21-4"></a><i class="conum" data-value="4"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO21-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.master</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO21-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.data</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO21-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ingest</code>  角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO21-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="ml-node"></a><span class="xpack">机器学习节点 (Machine learning node)
</h3>
</div></div></div>
<p>
机器学习功能提供机器学习节点，这些节点运行作业并处理机器学习API请求。
如果<code class="literal">xpack.ml.enabled</code>设置为<code class="literal">true</code>，<code class="literal">node.ml</code>设置为<code class="literal">false</code>，则节点可以为 API 请求提供服务，但不能运行作业。
</p>
<p>
如果要在集群中使用机器学习功能，必须在所有符合主节点条件的节点上启用机器学习(将<code class="literal">xpack.ml.enabled</code>设置为<code class="literal">true</code>)。

如果想要在客户端(包括Kibana)中使用机器学习功能，还必须在所有协调节点上启用它。

如果用的是 OSS-only 发行版，请不要使用这些设置。
</p>
<p>
关于这些设置的更多信息，参考 <a class="xref" href="ml-settings.html" title="Machine learning settings in Elasticsearch">机器学习设置</a>.
</p>
<p>要在默认发行版中创建专用的机器学习节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: false <a id="CO22-1"></a><i class="conum" data-value="1"></i>
node.voting_only: false <a id="CO22-2"></a><i class="conum" data-value="2"></i>
node.data: false <a id="CO22-3"></a><i class="conum" data-value="3"></i>
node.ingest: false <a id="CO22-4"></a><i class="conum" data-value="4"></i>
node.ml: true <a id="CO22-5"></a><i class="conum" data-value="5"></i>
xpack.ml.enabled: true <a id="CO22-6"></a><i class="conum" data-value="6"></i>
node.transform: false <a id="CO22-7"></a><i class="conum" data-value="7"></i>
xpack.transform.enabled: true <a id="CO22-8"></a><i class="conum" data-value="8"></i>
node.remote_cluster_client: false <a id="CO22-9"></a><i class="conum" data-value="9"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO22-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.master</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO22-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">node.voting_only</code> 角色默认是禁用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO22-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.data</code> 角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO22-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ingest</code>  角色 (默认是启用的)</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO22-5"><i class="conum" data-value="5"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">node.ml</code> 角色默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO22-6"><i class="conum" data-value="6"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">xpack.ml.enabled</code> 设置默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO22-7"><i class="conum" data-value="7"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.transform</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO22-8"><i class="conum" data-value="8"></i></a></p>
</td>
<td align="left" valign="top">
<p><code class="literal">xpack.transform.enabled</code> 设置默认是启用的</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO22-9"><i class="conum" data-value="9"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接 (默认是启用的)</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="transform-node"></a><span class="xpack">转换节点 (Transform node)
</h3>
</div></div></div>
<p>转换节点运行转换并处理转换API请求。</p>
<p>
如果要在集群中使用转换，必须在所有符合主节点条件的节点和所有数据节点上将<code class="literal">xpack.transform.enabled</code>设置为<code class="literal">true</code>。
如果要在客户端(包括Kibana)中使用转换，还必须在所有协调节点上启用它。
还必须在至少一个节点上将<code class="literal">node.transform</code>设置为<code class="literal">true</code>。
这是默认行为。
如果你用的是 OSS-only 发行版，请不要使用这些设置。更多信息请参考 <a class="xref" href="transform-settings.html" title="Transforms settings in Elasticsearch">转换设置</a>.
</p>
<p>要在默认发行版中创建专用的转换节点，请设置：</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">node.master: false <a id="CO23-1"></a><i class="conum" data-value="1"></i>
node.voting_only: false <a id="CO23-2"></a><i class="conum" data-value="2"></i>
node.data: false <a id="CO23-3"></a><i class="conum" data-value="3"></i>
node.ingest: false <a id="CO23-4"></a><i class="conum" data-value="4"></i>
node.ml: false <a id="CO23-5"></a><i class="conum" data-value="5"></i>
node.transform: true <a id="CO23-6"></a><i class="conum" data-value="6"></i>
xpack.transform.enabled: true <a id="CO23-7"></a><i class="conum" data-value="7"></i>
node.remote_cluster_client: false <a id="CO23-8"></a><i class="conum" data-value="8"></i></pre>
</div>
<div class="calloutlist">
<table border="0" summary="Callout list">
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO23-1"><i class="conum" data-value="1"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.master</code> 角色.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO23-2"><i class="conum" data-value="2"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.voting_only</code> </p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO23-3"><i class="conum" data-value="3"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.data</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO23-4"><i class="conum" data-value="4"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用 <code class="literal">node.ingest</code>  角色.</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO23-5"><i class="conum" data-value="5"></i></a></p>
</td>
<td align="left" valign="top">
<p>启用<code class="literal">node.ml</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO23-6"><i class="conum" data-value="6"></i></a></p>
</td>
<td align="left" valign="top">
<p>启用<code class="literal">node.transform</code> 角色</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO23-7"><i class="conum" data-value="7"></i></a></p>
</td>
<td align="left" valign="top">
<p>启用<code class="literal">xpack.transform.enabled</code> 设置</p>
</td>
</tr>
<tr>
<td align="left" valign="top" width="5%">
<p><a href="#CO23-8"><i class="conum" data-value="8"></i></a></p>
</td>
<td align="left" valign="top">
<p>禁用远端集群连接.</p>
</td>
</tr>
</table>
</div>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="change-node-role"></a>更改节点的角色
</h3>
</div></div></div>
<p>每个数据节点在磁盘上维护以下数据：</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
分配给该节点的每个分片的分片数据，
</li>
<li class="listitem">
对应于分配给该节点的每个分片的索引的元数据，
</li>
<li class="listitem">
集群范围的元数据，如设置和索引模板。
</li>
</ul>
</div>
<p>同样，每个符合主节点条件的节点在磁盘上维护以下数据：</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
集群中每个索引的索引元数据，
</li>
<li class="listitem">
集群范围的元数据，如设置和索引模板。
</li>
</ul>
</div>
<p>
每个节点在启动时检查其数据路径的内容。
如果发现意外的数据，将拒绝启动。
这是为了避免导入不需要的<a class="xref" href="modules-gateway-dangling-indices.html" title="Dangling indices">僵尸索引 (dangling indices)</a>，因为这会导致集群运行状况为红色。
更准确地说，如果<code class="literal">node.data: false</code>的节点在启动时在磁盘上发现任何分片数据，它们将拒绝启动；如果<code class="literal">node.master: false</code>和<code class="literal">node.data: false</code>的节点在启动时在磁盘上有任何索引元数据，它们将拒绝启动。
</p>
<p>
通过调整节点的<code class="literal">elasticsearch.yml</code>文件并重新启动，可以更改节点的角色。
这被称为 重新调整节点的用途(<em>repurposing</em>)。

为了满足上述对意外数据的检查，当将节点的<code class="literal">node.data</code>或<code class="literal">node.master</code>角色设置为<code class="literal">false</code>时，必须执行一些额外的步骤来准备重新调整节点的用途:
</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
如果你想通过将<code class="literal">node.data</code>更改为<code class="literal">false</code>来重新调整数据节点的用途，那么你应该首先使用 <a class="xref" href="allocation-filtering.html" title="Cluster-level shard allocation filtering">分配过滤器 (allocation filter)</a> 将所有分片数据安全地迁移到集群中的其他节点上。
</li>
<li class="listitem">
如果你想重新调整一个节点的用途，使其同时具有<code class="literal">node.master: false</code> 和 <code class="literal">node.data: false</code>，那么最简单的方法是用一个空的数据目录和所需的角色启动一个全新的节点。
您可能会发现首先使用<a class="xref" href="allocation-filtering.html" title="Cluster-level shard allocation filtering">分配过滤器 (allocation filter)</a>将分片数据迁移到集群中的其他地方是最安全的。
</li>
</ul>
</div>
<p>
如果无法遵循这些额外的步骤，那么你可以使用<a class="xref" href="node-tool.html#node-tool-repurpose" title="Changing the role of a node"><code class="literal">节点更改用途</code></a>工具删除任何阻止节点启动的多余数据。
</p>
<h3>
<a id="_node_data_path_settings"></a>节点数据路径设置 (Node data path settings)
</h3>
</div>

<div class="section">
<div class="titlepage"><div><div>
<h3 class="title">
<a id="data-path"></a><code class="literal">path.data</code>
</h3>
</div></div></div>
<p>
每个数据和符合主节点条件的节点都需要访问存储分片、索引和集群元数据的数据目录。
<code class="literal">path.data</code>默认为<code class="literal">$ES_HOME/data</code>，但可以在<code class="literal">elasticsearch.yml</code>配置文件中配置为绝对路径或相对于<code class="literal">$ES_HOME</code>的路径，如下所示:
</p>
<div class="pre_wrapper lang-yaml">
<pre class="programlisting prettyprint lang-yaml">path.data:  /var/elasticsearch/data</pre>
</div>
<p>像所有节点设置一样，它也可以在命令行上这样指定：</p>
<div class="pre_wrapper lang-sh">
<pre class="programlisting prettyprint lang-sh">./bin/elasticsearch -Epath.data=/var/elasticsearch/data</pre>
</div>
<div class="tip admon">
<div class="icon"></div>
<div class="admon_content">
<p>
使用<code class="literal">.zip</code>或<code class="literal">.tar.gz</code>发行版时，<code class="literal">path.data</code>设置应该配置为将数据目录定位在 Elasticsearch 主目录之外，这样就可以在不删除您的数据的情况下删除主目录！
RPM和Debian发行版已经帮你做到了。
</p>
</div>
</div>
<h3>
<a id="max-local-storage-nodes"></a><code class="literal">node.max_local_storage_nodes</code><a class="edit_me edit_me_private" rel="nofollow" title="Editing on GitHub is available to Elastic" href="https://github.com/elastic/elasticsearch/edit/7.7/docs/reference/modules/node.asciidoc">edit</a>
</h3>
<p>
<a class="xref" href="modules-node.html#data-path" title="path.data">数据路径 (data path)</a>可以由多个节点共享，甚至可以被来自不同集群的节点共享。
但是，建议使用相同的数据路径只运行一个 Elasticsearch 节点。
此设置在 7.x 中已废弃，将在 8.0 版中删除。
</p>
<p>
默认情况下，Elasticsearch 被配置为防止多个节点共享同一数据路径。
要允许多个节点(例如，在你的开发电脑上)，请使用<code class="literal">node.max_local_storage_nodes</code>设置，并将其设置为大于 1 的正整数。
</p>
<div class="warning admon">
<div class="icon"></div>
<div class="admon_content">
<p>
永远不要从同一数据目录运行不同的节点类型(比如：主节点、数据节点)。
这可能会导致意外的数据丢失。
</p>
</div>
</div>
<h3>
<a id="other-node-settings"></a>节点的其他设置
</h3>
<p>
更多关于节点的设置可以在 <a class="xref" href="settings.html" title="Configuring Elasticsearch"><em>配置 Elasticsearch</em></a> 及 <a class="xref" href="important-settings.html" title="Important Elasticsearch configuration"><em>Elasticsearch 的重要配置</em></a>找到,
包含：</p>
<div class="ulist itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<a class="xref" href="cluster.name.html" title="cluster.name"><code class="literal">cluster.name</code></a>
</li>
<li class="listitem">
<a class="xref" href="node.name.html" title="node.name"><code class="literal">node.name</code></a>
</li>
<li class="listitem">
<a class="xref" href="modules-network.html" title="Network settings">网络设置</a>
</li>
</ul>
</div>
</div>

</div>
<div class="navfooter">
<span class="prev">
<a href="monitoring-settings.html">« 监控设置</a>
</span>
<span class="next">
<a href="modules-network.html">网络设置 »</a>
</span>
</div>
</div>

                  <!-- end body -->
                        </div>
                        <div class="col-xs-12 col-sm-4 col-md-4" id="right_col">
                        
                        </div>
                    </div>
                </div>
            </section>
        </div>
    </section>
</div>
<script src="../static/cn.js"></script>
</body>
</html>